<?php

/*-----------------------------------------------------------*\
|                  - Модуль новин -                          |
|                 Author:  Skalden Russell                   |
|                 Last modify: 20130105                      |
\*-----------------------------------------------------------*/

// Захист модулю
if(!defined('TSUE_SEC')) 
{
	require_once('../../data/messages/hacking.attempt.php');
	die($TSUE_MSG);
}

//Кількість новин у стрічці новин
define( 'NEWS_PER_PAGE', 10 );

//-------------------------------------------------------------
//                  Процес обробки дій
//-------------------------------------------------------------

// Додавання новини
if(isset($_POST['add_btn']))
{
	// Перевірка на помилки
	$error_exist = FALSE;
	$error_content = '';
	
	// Кодування / декодування тексту
	include_once( TSUE_DIR . '/engine/include/security.text.php' );
	$sectext = new CSecurity();
	
	// З'єднання з БД
	$sql = new cMysql();
	$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);

	// Перевірка Title
	if(empty($_POST['title']))
	{
		$error_exist = TRUE;
		$error_content .= 'Не заповнено поле "Заголовок новини"';
	}
	else
	{
		$_POST['title'] = trim( strip_tags( $_POST['title'] ) );
		$_POST['title'] = $sectext->encode( $_POST['title'] );
		$_POST['title'] = $sql->sec_check( $_POST['title'] );
	}
	
	// Перевірка Date
	$_POST['date'] = trim( strip_tags( $_POST['date'] ) );
	$_POST['date'] = $sectext->encode( $_POST['date'] );
	$_POST['date'] = $sql->sec_check( $_POST['date'] );
	
	// Перевірка author
	$_POST['author'] = trim( strip_tags( $_POST['author'] ) );
	$_POST['author'] = $sectext->encode( $_POST['author'] );
	$_POST['author'] = $sql->sec_check( $_POST['author'] );
	
	// Перевірка news_descr
	$_POST['news_descr'] = $sectext->encode( $_POST['news_descr'] );
	$_POST['news_descr'] = $sql->sec_check( $_POST['news_descr'] );
	
	// Перевірка news_full
	$_POST['news_full'] = $sectext->encode( $_POST['news_full'] );
	$_POST['news_full'] = $sql->sec_check( $_POST['news_full'] );
	
	if($error_exist === FALSE)
	{
		// Додавання в БД полів
		$sql->query("INSERT INTO `". $SQL_CONF['pref'] ."newstrack` (`newsid`, `title`, `author`, `pagedescr`, `pagefull`, `date`, `views`) VALUES ( NULL, '". $_POST['title'] ."', '". $_POST['author'] ."', '". $_POST['news_descr'] ."', '". $_POST['news_full'] ."', '". $_POST['date'] ."', '0')" );
		
		echo <<<HTML
		<div align="center">
			<div align="center" style="width: 50%; border: 1px solid #33ff00; background-color: #CCFFCC; padding: 5px; overflow: auto;">  
				Новина успішно додана.
			</div>
		</div>
		<br />
HTML;
	}
	else
	{
		echo <<<HTML
		<div align="center">
		<div align="center" style="width: 50%; border: 1px solid #FF3333; background-color: #FFCCCC; padding: 5px; overflow: auto;"> $error_content </div>
		</div>
		<br />
HTML;
	}

	// Закриття з'єднання
	$sql->close();

}

// Редагування новини
if(isset($_POST['edit_btn']))
{
	// Перевірка на помилки
	$error_exist = FALSE;
	$error_content = '';
	
	// Кодування / декодування тексту
	include_once( TSUE_DIR . '/engine/include/security.text.php' );
	$sectext = new CSecurity();
	
	// З'єднання з БД
	$sql = new cMysql();
	$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
	
	// Перевірка Title
	if(empty($_POST['title']))
	{
		$error_exist = TRUE;
		$error_content .= 'Не заповнено поле "Заголовок новини"';
	}
	else
	{
		$_POST['title'] = trim( strip_tags( $_POST['title'] ) );
		$_POST['title'] = $sectext->encode( $_POST['title'] );
		$_POST['title'] = $sql->sec_check( $_POST['title'] );
	}
	
	// Перевірка Date
	$_POST['date'] = trim( strip_tags( $_POST['date'] ) );
	$_POST['date'] = $sectext->encode( $_POST['date'] );
	$_POST['date'] = $sql->sec_check( $_POST['date'] );
	
	// Перевірка author
	$_POST['author'] = trim( strip_tags( $_POST['author'] ) );
	$_POST['author'] = $sectext->encode( $_POST['author'] );
	$_POST['author'] = $sql->sec_check( $_POST['author'] );
	
	// Перевірка news_descr
	$_POST['news_descr'] = $sectext->encode( $_POST['news_descr'] );
	$_POST['news_descr'] = $sql->sec_check( $_POST['news_descr'] );
	
	// Перевірка news_full
	$_POST['news_full'] = $sectext->encode( $_POST['news_full'] );
	$_POST['news_full'] = $sql->sec_check( $_POST['news_full'] );
	
	// Перевірка ID
	$_POST['id'] = $sectext->digit( $_POST['id'] );
	$_POST['id'] = $sql->sec_check( $_POST['id'] );
	
	if($error_exist === FALSE)
	{
		$sql->query("UPDATE `". $SQL_CONF['pref'] ."newstrack` SET `title` = '". $_POST['title'] ."', `author` = '". $_POST['author'] ."', `pagedescr` = '". $_POST['news_descr'] ."', `pagefull` = '". $_POST['news_full'] ."' WHERE `newsid` = '". $_POST['id'] ."'");
	
		echo <<<HTML
		<div align="center">
			<div align="center" style="width: 50%; border: 1px solid #33ff00; background-color: #CCFFCC; padding: 5px; overflow: auto;">  
				Новина успішно змінена.
			</div>
		</div>
		<br />
HTML;
	}
	else
	{
		echo <<<HTML
		<div align="center">
		<div align="center" style="width: 50%; border: 1px solid #FF3333; background-color: #FFCCCC; padding: 5px; overflow: auto;"> $error_content </div>
		</div>
		<br />
HTML;
	}
	
	$sql->close();
}

// Видалення новини
if(isset($_POST['delete_btn']))
{
	// Кодування / декодування тексту
	include_once( TSUE_DIR . '/engine/include/security.text.php' );
	$sectext = new CSecurity();
	
	// З'єднання з БД
	$sql = new cMysql();
	$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
	$_POST['id'] = $sql->sec_check( $_POST['id'] );
	
	$sql->query("DELETE FROM `". $SQL_CONF['pref'] ."newstrack` WHERE `newsid` = '". $sectext->digit( $_POST['id'] ) ."'");
	
	$sql->close();
	
	echo <<<HTML
	<div align="center">
		<div align="center" style="width: 50%; border: 1px solid #33ff00; background-color: #CCFFCC; padding: 5px; overflow: auto;">  
			Новина успішно видалена.
		</div>
	</div>
	<br />
HTML;
}
 
//-------------------------------------------------------------
//                 Кінець процес обробки дій
//-------------------------------------------------------------



//-------------------------------------------------------------
//                  Дії виведення інформації
//-------------------------------------------------------------

switch( $_GET['action'] )
{

	// Відобразити розділ додавання новини
	case "addnews":
	$cur_date = date( "Y-m-d H:i:s" );
	
	echo <<<HTML
	<form action="{$_SERVER['PHP_SELF']}?section=mainnews" method="POST">
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/add.png" border="0"></td>
		<td valign="middle"><div class="quick"><h3>Додавання новини</h3>Для того щоб коректно додати новину в базу даних, будь ласка заповніть правильно всі поля та натисніть на кнопку "Додати". 
		Якщо ви з якоїсь причини хочете повернутися до попереднього меню натисніть на кнопку "Повернутися назад".</div></td>
	    </tr>
	</table>
	<br />
	<script type="text/javascript" src="engine/ckeditor/ckeditor.js"></script>
	<table border="1" class="infot" style="border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">
		<tr>
			<td width="25%"><b>Заголовок новини:</b></td><td> <input type="text" name="title" /></td>
		</tr>
		<tr>
			<td width="25%"><b>Дата:</b></td><td> <input type="text" name="date" value="{$cur_date}" />  </td>
		</tr>
		<tr>
			<td width="25%"><b>Автор:</b></td><td> <input type="text" name="author" value="" />  </td>
		</tr>
		<tr>
			<td width="25%"><b>Короткий опис:</b></td>
			<td>
			<textarea name="news_descr" id="descr" rows="15" cols="50" tabindex="4"></textarea> 
				<script type="text/javascript"> 
					//<![CDATA[
					CKEDITOR.replace( 'news_descr',
					{
						skin : 'v2'
					});
				//]]>
				</script> 
			</td>
		</tr>
		<tr>
			<td width="25%"><b>Повний опис:</b></td>
			<td>
			<textarea name="news_full" id="full" rows="15" cols="50" tabindex="4"></textarea> 
				<script type="text/javascript"> 
					//<![CDATA[
					CKEDITOR.replace( 'news_full',
					{
						skin : 'v2'
					});
				//]]>
				</script> 
			</td>
		</tr>
		<tr>
			<td colspan="2" align="right"> 
				<input type="submit" name="add_btn" class="button" value="Додати" /> &nbsp;
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=mainnews'; " />
			</td>
		</tr>
	</table>
	</form>
	<br /><br />
HTML;
	break;

	// Редагування новини (таблиця новин)
	case "editnews":
		// Кодування / декодування тексту
		include_once( TSUE_DIR . '/engine/include/security.text.php' );
		$sectext = new CSecurity();
		
		// З'єднання з БД
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$rows = $sql->fetch_assoc("SELECT COUNT(*) as count FROM `". $SQL_CONF['pref'] ."newstrack`");

		
		$page = $sectext->digit( $_GET['page'] );
		$splitter = make_splitter( $page, $rows[0]['count'], NEWS_PER_PAGE, '?section=mainnews&action=editnews&page=' );
		
		$rows = $sql->fetch_array("SELECT `newsid`, `title`, `author`, `date`, `views` FROM `". $SQL_CONF['pref'] ."newstrack` LIMIT ". $splitter['begin'] .", ". NEWS_PER_PAGE ." ");
		$sql->close();
		
		// Таблиця новин для редагування
		$rows_size = count($rows)-1;
		if($rows_size > 0)
		{
			$content = '<table border="1" class="infot" style="width: 100%; border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">';
			$content .= '<tr><td class="info" width="5%" align="center"><b> # </b></td>
					 <td class="info" width="50%" align="left"><b>Тема</b></td>
					 <td class="info" width="10%" align="center"><b>Переглядів</b></td>
					 <td class="info" align="center"><b>Автор</b></td>
					 <td class="info" align="right"><b>Дата</b></td>
				    </tr>';
			
			for($i = 0; $i < $rows_size; $i++)
			{
				$link = '<a class="list" href="?section=mainnews&action=vieweditnews&id='. $sectext->digit( $rows[$i]['newsid'] ) .'"><b>'. $sectext->decode( $rows[$i]['title'] ) .'</b></a>';
				$content .= '<tr class="odd"><td align="center">'. ($i+1) .'</td><td align="left">'. $link .'</td><td align="center">'. $sectext->decode( $rows[$i]['views'] ) .'</td><td align="center">'. 
						$sectext->decode( $rows[$i]['author'] ) .'</td><td align="right">'. $sectext->decode( $rows[$i]['date'] ) .'</td></tr>';
			}
			
			$content .= '</table>';
		}
		else
		{
			$content = '<div align="center"><b>Новин поки що немає.</b></div>';
		}
		
		// Друк всієї інформації
		echo <<<HTML
			<table width="100%">
			    <tr>
				<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit.png" border="0"></td>
				<td valign="middle"><div class="quick"><h3>Редагування новин</h3>Редагування новин, дозволяє вам змінювати або доповнювати вже додані новини, для цього вам потрібно вибрати зі списку
				існуючих новин потрібну і відредагувати її.</div></td>
			    </tr>
			</table>
			<br />
			$content
			<br />
			{$splitter['splitter']}
			
			<div align="right">
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=mainnews'; " />
			</div>
		<br /><br />
HTML;
	break;
	
	// Відобразити редаговану новина
	case "vieweditnews":
		// Кодування / декодування тексту
		include_once( TSUE_DIR . '/engine/include/security.text.php' );
		$sectext = new CSecurity();
		
		// З'єднання з БД
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$rows = $sql->fetch_array("SELECT `title`, `author`, `pagedescr`, `pagefull`, `date` FROM `". $SQL_CONF['pref'] ."newstrack` WHERE `newsid`='". $sectext->digit( $_GET['id'] ) ."'");
		$sql->close();
		
		// Підготовка змінних (декодування)
		$rows[0]['title'] = $sectext->decode( $rows[0]['title'] );
		$rows[0]['date'] = $sectext->decode( $rows[0]['date'] );
		$rows[0]['author'] = $sectext->decode( $rows[0]['author'] );
		$rows[0]['pagedescr'] = $sectext->decode( $rows[0]['pagedescr'] );
		$rows[0]['pagefull'] = $sectext->decode( $rows[0]['pagefull'] );
		
		$_GET['id'] = $sectext->digit( $_GET['id'] );
		
		// Відобразити поля редагування
		echo <<<HTML
	<form action="{$_SERVER['PHP_SELF']}?section=mainnews" method="POST">
	<input type="hidden" name="id" value="{$_GET[id]}" />
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit.png" border="0"></td>
		<td valign="middle"><div class="quick"><h3>Редагування новини</h3>Редагування новин, дозволяє вам змінювати або доповнювати вже додані новини, для цього вам потрібно вибрати зі списку
		існуючих новин потрібну і відредагувати її.</div></td>
	    </tr>
	</table>
	<br />
	<script type="text/javascript" src="engine/ckeditor/ckeditor.js"></script>
	<table border="1" class="infot" style="border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">
		<tr>
			<td width="25%"><b>Заголовок новини:</b></td><td> <input type="text" name="title" value="{$rows[0][title]}"/></td>
		</tr>
		<tr>
			<td width="25%"><b>Дата:</b></td><td> <input type="text" name="date" value="{$rows[0][date]}" />  </td>
		</tr>
		<tr>
			<td width="25%"><b>Автор:</b></td><td> <input type="text" name="author" value="{$rows[0][author]}" />  </td>
		</tr>
		<tr>
			<td width="25%"><b>Короткий опис:</b></td>
			<td>
			<textarea name="news_descr" id="descr" rows="15" cols="50" tabindex="4">{$rows[0][pagedescr]}</textarea> 
				<script type="text/javascript"> 
					//<![CDATA[
					CKEDITOR.replace( 'news_descr',
					{
						skin : 'v2'
					});
				//]]>
				</script> 
			</td>
		</tr>
		<tr>
			<td width="25%"><b>Повний опис:</b></td>
			<td>
			<textarea name="news_full" id="full" rows="15" cols="50" tabindex="4">{$rows[0][pagefull]}</textarea> 
				<script type="text/javascript"> 
					//<![CDATA[
					CKEDITOR.replace( 'news_full',
					{
						skin : 'v2'
					});
				//]]>
				</script> 
			</td>
		</tr>
		<tr>
			<td colspan="2" align="right"> 
				<input type="submit" name="edit_btn" class="button" value="Змінити" /> &nbsp;
				<input type="submit" name="delete_btn" class="button" value="Видалити новину" /> &nbsp;
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=mainnews&action=editnews';" />
			</td>
		</tr>
	</table>
	</form>
	<br /><br />
HTML;
		
	break;
	
// Вивід опцій модуля
default:
echo <<<HTML
<table width="100%">
    <tr>
        <td width="50%">
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/add.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=mainnews&action=addnews"><h3>Додати новину</h3>Додати нову новину, яка відображаються на головній сторінці всім користувачам перед авторизацією</a></div></td>
	    </tr>
	</table>
	</td>
	 <td width="50%">
	   <table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=mainnews&action=editnews"><h3>Редагувати новини</h3>Дозволяє змінювати контент вже існуючої новини.</a></div></td>
	    </tr>
	   </table>
	</td>
    </tr>
    <tr>
	<td>
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/back.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=xae"><h3>Повернутися назад</h3>Повернутися до попереднього розділу меню.</a></div></td>
	    </tr>
	</table>
	</td>
    </tr>
</table>
	
<br /><br />

HTML;
break;

}

//-------------------------------------------------------------
//                 Кінець дій виведення інформації
//-------------------------------------------------------------

?>